package com.example.wlzz.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StrToListForIntUtil {
    public static List<Integer> getList(String listStr) {
        /*
         * 1-5,7-15周
         * 1-5,7-8,10-12周
         * 5,7-15周
         * 3-5,7周
         * 1周
         * 1,3周
         * 1-16周
         * 1-8周
         */
        List<Integer> list = new ArrayList<>();
        listStr = listStr.replace("周", ""); // 首先去掉讨厌的周字
        listStr = listStr.replace("上", ""); // 首先去掉讨厌的上字
        if(String.valueOf(listStr.charAt(0)).equals(",")){
            listStr = listStr.substring(1);
        }
        listStr = listStr.trim();
        String[] listArrays = listStr.split(",");
        for (String string : listArrays) {
            if (string.indexOf("-") == -1) { // 说明这是一个单数字的
                list.add(Integer.valueOf(string));
            } else {
                String[] numberArrays = string.split("-");
                List<Integer> listTemp = Stream.iterate(Integer.valueOf(numberArrays[0]), item -> item + 1)
                        .limit(Integer.valueOf(numberArrays[1]) - Integer.valueOf(numberArrays[0]) + 1)
                        .collect(Collectors.toList());
                list.addAll(listTemp);
            }
        }
        return list;
    }
}